package cn.itcast.service;

import cn.itcast.pojo.Clazz;
import cn.itcast.pojo.ClazzBean;
import cn.itcast.pojo.ClazzById;
import cn.itcast.pojo.PageBean;

import java.time.LocalDate;
import java.util.List;

public interface ClazzService {
    /**
     * 查询所有班级
     * @return
     */
    List<Clazz> findAllClazz();

    /**
     * 条件查询班级
     * @param name
     * @param begin
     * @param end
     * @param page
     * @param pageSize
     * @return
     */
    PageBean<Clazz> findByColClazz(String name, LocalDate begin, LocalDate end, Integer page, Integer pageSize);

    /**
     * 根据id删除班级
     * @param id
     * @return
     */
    boolean deleteById(Integer id);

    /**
     * 添加班级
     * @param clazz
     * @return
     */
    boolean addClazz(Clazz clazz);

    /**
     * 根据id查询班级
     * @param id
     * @return
     */
    ClazzById findById(Integer id);

    /**
     * 修改班级信息
     * @param clazz
     * @return
     */
    boolean updateClazz(Clazz clazz);

    ClazzBean studentCountData();
}
